Automobile manufacturers guarantee the quality of their vehicles by offering warranties. The warranty typically includes powertrain components of the vehicle. For example, if a powertrain component malfunctions during the warranty, the manufacturer repairs the powertrain component at no additional cost to the customer.
The manufacturer tests, evaluates, and adjusts engine and transmission software and calibration data to optimize emissions, performance, durability and/or other design factors. Some customers may replace factory software or calibration data in an attempt to modify and/or improve the performance of their vehicle. The warranty typically excludes damage that occurs due to user modification. However, user modification may be difficult to detect.
For example, powertrain calibration data relating to electronic throttle control (ETC), fuel injection, transmission shift points, and/or turbocharger and supercharger set points may be modified to enhance vehicle performance. Increasing performance may damage and/or accelerate wear on the powertrain components. When damage occurs, some customers may reprogram the modified software or calibration data back to the factory software or calibration data and attempt to have damaged parts repaired under warranty. Without proof of the customer's modification, the manufacturer may honor the warranty, which unnecessarily increases warranty costs.
Some tampering detection systems and methods use an embedded part number (EPN) and an embedded verification number (EVN) in software and calibration data used in a control module. A history buffer is used to record and preserve the EPN and a calculated verification number (CVN) that is calculated in the control module using the same formula that was used to create the EVN. For example only, the EVN may be calculated based on the bits of the software and calibration data. The EPN, the EVN, and the CVN are used to detect unauthorized modifications to the software and calibration data.
However, it is possible to flash data into the control module to flush the history buffer and erase evidence of tampering. To combat this, the history buffer can be made larger to store more programming attempts. However, resources are often limited in embedded controllers. Large history buffers can easily consume hundreds or thousands of bytes of memory.